class Solution:
    def permute(self, nums):#字符串nums
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """

        def backtrack(first=0):
            # 所有数都填完了
            if first == n:
                res.append(nums[:])#将填完序列加入res中
            for i in range(first, n):#利用first遍历总共为n的数组
                nums[first], nums[i] = nums[i], nums[first]#交换nums中下标为first与i的值
                # 继续递归填下一个数
                backtrack(first + 1)
                # 撤销操作
                nums[first], nums[i] = nums[i], nums[first]

        n = len(nums)
        res = []
        backtrack()
        return res
solution=Solution()
nums=[1,2,3,4]#测验
print(solution.permute(nums))

